﻿using Volo.Abp.Reflection;

namespace Socloudng.BaseService.Permissions;

public class BaseServicePermissions
{
    public const string GroupName = "BaseService";

    public static class AuditLogging
    {
        public const string Default = GroupName + ".AuditLogging";
    }

    public static class DataDictionary
    {
        public const string Default = GroupName + ".DataDictionary";
        public const string Delete = Default + ".Delete";
        public const string Update = Default + ".Update";
        public const string Create = Default + ".Create";
    }

    public static class DataDictionaryDetail
    {
        public const string Default = GroupName + ".DataDictionaryDetail";
        public const string Delete = Default + ".Delete";
        public const string Update = Default + ".Update";
        public const string Create = Default + ".Create";
    }

    public static class Organization
    {
        public const string Default = GroupName + ".Organization";
        public const string Delete = Default + ".Delete";
        public const string Update = Default + ".Update";
        public const string Create = Default + ".Create";
    }

    public static class Job
    {
        public const string Default = GroupName + ".Job";
        public const string Delete = Default + ".Delete";
        public const string Update = Default + ".Update";
        public const string Create = Default + ".Create";
    }

    public static class Employee
    {
        public const string Default = GroupName + ".Employee";
        public const string Delete = Default + ".Delete";
        public const string Update = Default + ".Update";
        public const string Create = Default + ".Create";
    }

    public static string[] GetAll()
    {
        return ReflectionHelper.GetPublicConstantsRecursively(typeof(BaseServicePermissions));
    }
}
